home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / More Examples / L-system examples < prev    next >
Text File  |  1998-10-26  |  928b  |  58 lines

  1. ; koch curve
  2.  
  3. (def-grammar 'koch-curve
  4.    axiom (f + f + f + f)
  5.    f (f + f - f - f f + f + f - f)
  6.    - (-)
  7.    + (+)
  8.    < (<)
  9.    > (>)
  10. )
  11.  
  12. (gen-lsystem axiom 3 '(f + - < >) 'koch-curve)
  13.  
  14. ; hilbert curve
  15.  
  16. (def-grammar 'hilbert-curve
  17.    axiom (x)
  18.    x (- y f + x f x + f y -)
  19.    y (+ x f - y f y - f x +)
  20.    - (-)
  21.    + (+)
  22.    < (<)
  23.    > (>)
  24. )
  25.  
  26. (gen-lsystem axiom 5 '(f + - < >) 'hilbert-curve)
  27.  
  28. ; peano curve
  29.  
  30. (def-grammar 'peano-curve
  31.    axiom (x)
  32.    x (x f y f x + f + y f x f y - f - x f y f x)
  33.    y (y f x f y - f - x f y f x + f + y f x f y)
  34.    - (-)
  35.    + (+)
  36.    < (<)
  37.    > (>)
  38. )
  39.  
  40. (gen-lsystem axiom 3 '(f + - < >) 'peano-curve)
  41.  
  42. ; dragon curve
  43.  
  44. (def-grammar 'dragon-curve
  45.    axiom (f x)
  46.    x (x + y f)
  47.    y (- f x - y)
  48.    - (-)
  49.    + (+)
  50.    < (<)
  51.    > (>)
  52. )
  53.  
  54. (gen-lsystem axiom 7 '(f + - < >) 'dragon-curve)
  55.  
  56. Does not produce anything useful because the 2D rules happens to map here
  57. so that it all makes the curve going down.
  58.